<?php

/**
 * 整数转罗马数字
 * Class Solution
 */
class Solution {

    /**
     * @param Integer $num
     * @return String
     */
    function intToRoman($num) {
        $str='';
        while($num>0){
            switch($num){
                case $num>=1000:
                    $str.=$this->toRoman($num-$num%1000);
                    $num=$num%1000;
                    break;
                case $num>=100:
                    $str.=$this->toRoman($num-$num%100);
                    $num=$num%100;
                    break;
                case $num>=10:
                    $str.=$this->toRoman($num-$num%10);
                    $num=$num%10;
                    break;
                default:
                    $str.=$this->toRoman($num);
                    $num=0;
                    break;
            }
        }

        return $str;
    }

    function toRoman($int){
        if($int>=1000){
            return str_repeat('M',$int/1000);
        }elseif($int>=900){
            return 'CM';
        }elseif($int>=500){
            return 'D'.str_repeat('C',($int-500)/100);
        }elseif($int>=400){
            return 'CD';
        }elseif($int>=100){
            return str_repeat('C',$int/100);
        }elseif($int>=90){
            return 'XC';
        }elseif($int>=50){
            return 'L'.str_repeat('X',($int-50)/10);
        }elseif($int>=40){
            return 'XL';
        }elseif($int>=10){
            return str_repeat('X',$int/10);
        }elseif($int>=9){
            return 'IX';
        }elseif($int>=5){
            return 'V'.str_repeat('I',($int-5));
        }elseif($int>=4){
            return 'IV';
        }
        return str_repeat('I',$int);
    }
}